Higher Order Rippling in IsaPlanner
نویسندگان
چکیده
We present an account of rippling with proof critics suitable for use in higher order logic in Isabelle/IsaPlanner. We treat issues not previously examined, in particular regarding the existence of multiple annotations during rippling. This results in an efficient mechanism for rippling that can conjecture and prove needed lemmas automatically as well as present the resulting proof plans as Isar style proof scripts.
منابع مشابه
IsaPlanner 2: A Proof Planner for Isabelle
We describe version 2 of IsaPlanner, a proof planner for the Isabelle proof assistant and present the central design decisions and their motivations. The major advances are the support for a declarative presentation of the proof plans, reasoning with meta-variables to support middle-out reasoning, new proof critics for lemma speculation and case analysis, the ability to mix search strategies, a...
متن کاملProof Planning with IsaPlanner Tutorial Exercise
IsaPlanner [1] is a proof planner for the generic interactive theorem prover Isabelle [3]. It provides a framework for the encoding and debugging of proof planning techniques. A higher order version of rippling has been implemented and augmented with generalisation and lemma calculation critics [2]. The proof planning process is interleaved with the execution of the resulting proof plans, thus ...
متن کاملBest-First Rippling
Rippling is a form of rewriting that guides search by only performing steps that reduce the syntactic differences between formulae. Termination is normally ensured by a measure that is decreases with each rewrite step. Because of this restriction, rippling will fail to prove theorems about, for example, mutual recursion as steps that temporarily increase the differences are necessary. Best-firs...
متن کاملZeno: A tool for the automatic verification of algebraic properties of functional programs
Most functional programs rely heavily on recursively defined structures and pattern matching thereupon. Proving properties of such programs often requires a proof by induction, which many theorem provers have difficulty addressing. In this paper we present Zeno, a new tool for the automatic verification of simple properties of functional programs. We define a minimal functional language along w...
متن کاملCase-Analysis for Rippling and Inductive Proof
Rippling is a heuristic used to guide rewriting and is typically used for inductive theorem proving. We introduce a method to support case-analysis within rippling. Like earlier work, this allows goals containing if-statements to be proved automatically. The new contribution is that our method also supports case-analysis on datatypes. By locating the case-analysis as a step within rippling we a...
متن کامل